package doublePointer;

public class MoveZero {
    //移动零
    public void moveZeroes(int[] nums) {
        //cur用来遍历数组
        int cur = 0;
        //[0,dest]表示非0区间，[dest+1,cur-1]表示0，[cur,numb.length-1]表示未处理区间
        int dest = -1;
        while(cur < nums.length){
            if (nums[cur] == 0){
                //当cur遇到0，cur++
                cur ++;
            }else{
                //当cur遇到非0，dest++，交换dest和cur的位置元素，cur++
                dest ++;
                int tmp = nums[cur];
                nums[cur] = nums[dest];
                nums[dest] = tmp;
                cur ++;
            }
        }
    }
}
